#ifndef INCLUDE_MAIL_BOX_
#define INCLUDE_MAIL_BOX_

#include "type.h"
#include "sync.h"

#define MAX_MBOX_LENGTH 64

typedef struct mailbox
{
    char name[32];//邮箱名字
    int id;//邮箱id
    char buffer[MAX_MBOX_LENGTH];//邮箱内容
    int used;//被使用字节数
    int visit;//被访问次数
    int front;//读指针
    int rear;//写指针
    condition_t full;//条件变量 空
    condition_t empty;//条件变量 满
    mutex_lock_t mutex;//互斥访问锁
} mailbox_t;


void mbox_init();
int do_mbox_open(char *);
void do_mbox_close(int mboxid);
void do_mbox_send(int mboxid, void *, int);
void do_mbox_recv(int mboxid, void *, int);

#endif